﻿using Models.Entity;
using Models.Vo;

namespace InterFace;

public interface INoticeService

{
    /// <summary>
    /// 获取报警信息
    /// </summary>
    /// <returns></returns>
    Task<List<FaultNotice>>  GetNotices();

    /// <summary>
    /// 获取工单状态数
    /// </summary>
    /// <returns></returns>
    Task<TicketStatusVo>  GetTicketStatus();

    /// <summary>
    /// 获取本月人员完成率
    /// </summary>
    /// <returns></returns>
    Task<List<UserCompletionRateVo>> GetCompletionRate();

    /// <summary>
    /// 获取工单
    /// </summary>
    /// <returns></returns>
    Task<List<TicketVo>> GetTickets();

    /// <summary>
    /// 获取故障类型分布
    /// </summary>
    /// <returns></returns>
    Task<FaultTypeCountVo> GetFaultTypeCounts();

    /// <summary>
    /// 获取工单日曲线
    /// </summary>
    /// <returns></returns>
    Task<TicketTrendVo> GetDailyTicketTrend();

    /// <summary>
    /// 获取工单月曲线
    /// </summary>
    /// <returns></returns>
    Task<TicketTrendVo> GetMonthlyTicketTrend();

    /// <summary>
    /// 获取设备报警次数
    /// </summary>
    /// <returns></returns>
    Task<DeviceFaultRankingVo> GetAllDeviceFaultRanking();



}